<template>
  <router-view />
</template>

<script setup>
import { onMounted } from 'vue'
import { useUserStore } from '@/store/modules/user'
import { hasValidToken, getUserInfo } from '@/utils/auth'

const userStore = useUserStore()

onMounted(async () => {
  // 应用启动时检查登录状态
  if (hasValidToken()) {
    try {
      // 如果有有效token，尝试恢复用户信息
      const userInfo = getUserInfo()
      if (userInfo) {
        userStore.userInfo = userInfo
        userStore.token = userStore.getToken()
        console.log('用户登录状态已恢复')
      } else {
        // 如果没有用户信息，尝试从服务器获取
        await userStore.getUserInfo()
      }
    } catch (error) {
      console.error('恢复用户状态失败:', error)
      // 如果恢复失败，清除无效的token
      userStore.logout()
    }
  }
})
</script>

<style>
/* 全局样式在global.scss中定义 */
</style>
